x86/hvm: Fix the unknown nested vmexit reason 80000021 bug
authorLiang Li <liang.z.li@intel.com>
Tue, 7 Apr 2015 13:27:02 +0000 (21:27 +0800)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 10 Apr 2015 15:35:46 +0000 (11:35 -0400)
commitf7708796db463410a97b5fa3dd5902f6e8a1d102
tree273cb3a52a6ad2c2409180ab879227b96ee6afac
parent1fc3aeb3aa26a138d1a4e91709256a4eac8b3922
x86/hvm: Fix the unknown nested vmexit reason 80000021 bug

This bug will be trigged when NMI happen in the L2 guest. The current
code handles the NMI incorrectly. According to Intel SDM 31.7.1.2
(Resuming Guest Software after Handling an Exception), If bit 31 of the
IDT-vectoring information fields is set, and the virtual NMIs VM-execution
control is 1, while bits 10:8 in the IDT-vectoring information field is
2, bit 3 in the interruptibility-state field should be cleared to avoid
the next VM entry fail.

Signed-off-by: Liang Li <liang.z.li@intel.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/hvm/vmx/vmx.c